﻿#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

//int add(int x, int y)
//{
//	return x + y;
//
//}
//
//int sub(int x, int y)
//{
//	return x - y;
//
//}
//
//int mul(int x, int y)
//{
//	return x * y;
//
//}
//
//int div(int x, int y)
//{
//	return x / y;
//
//}
//
//int main()
//{
//	int x, y;
//	int input = 0;
//	int ret = 0;
//	printf("*****1 .add **** 2 .sub *****\n");
//	printf("*****3 .mul **** 4 .div *****\n");
//	printf("*****0 .exit ****************\n");
//	scanf("%d", &input);
//	switch (input)
//	{
//	case 0:
//		printf("已退出\n");
//		break;
//	case 1:
//		printf("请输入操作数\n");
//		scanf("%d %d", &x, &y);
//			ret = add(x, y);
//			printf("结果为:%d\n", ret);
//			break;
//
//	case 2:
//		printf("请输入操作数\n");
//		scanf("%d %d", &x, &y);
//			ret = sub(x, y);
//			printf("结果为:%d\n", ret);
//			break;
//
//	case 3:
//		printf("请输入操作数\n");
//		scanf("%d %d", &x, &y);
//			ret = mul(x, y);
//			printf("结果为:%d\n", ret);
//			break;
//	
//	case 4:
//		printf("请输入操作数\n");
//		scanf("%d %d", &x, &y);
//			ret = div(x, y);
//			printf("结果为:%d\n", ret);
//			break;
//			
//	default :
//		printf("输入错误\n");
//		break;
//
//	}
//	return 0;
//}

int add(int x, int y)
{
	return x + y;

}

int sub(int x, int y)
{
	return x - y;

}

int mul(int x, int y)
{
	return x * y;

}

int div(int x, int y)
{
	return x / y;

}

int main()
{
	int (*p[5])(int, int) = {0, add, sub, mul, div };
	int x, y;
	int input = 0;
	int ret = 0;
	do {
		printf("*****1 .add **** 2 .sub *****\n");
		printf("*****3 .mul **** 4 .div *****\n");
		printf("*****0 .exit ****************\n");
		printf("请选择\n");
		scanf("%d", &input);
		if (input <= 4 && input >= 1)
		{
			printf("请输入：");
			scanf("%d %d", &x, &y);
			ret = (*p[input])(x, y);
			printf("结果为：%d\n", ret);
		}
		else if (input == 0)
		{
			printf("退出计算器\n");
		}
		else
		{
			printf("输⼊有误\n");
		}

	
	} while (input);
	
	return 0;
}